# -*- coding: utf-8 -*-

'''eof
name:学历
code:IG04_EduLevel
tableName:
columnName:
groups:个人通用模块
dependencies:IC_DSJ
type:常用指标
datasourceType:在线指标
description:
eof'''


import sys
import pandas as pd
import json
from datetime import datetime


def FormatData(tableName):
    try:
        ic = IC_DSJ.get("data").get(tableName)
        return ic if isinstance(ic, list) else [{}]
    except:
        return [{}]


'''
IG04:学历，指标值为：中等专业学校或中等技术学校、高中、研究生、小学、初中、大学专科和专科学校（简称"大专"）、大学本科（简称"大学"）、文盲或半文盲、技术学校；否则，指标值为缺失值
IF指标值==缺失值 return 缺失值
IF 指标值in [文盲或半文盲、小学、初中] then return 1;
IF 指标值 in[高中、技术学校] then2;
IF 指标值 in[中等专业学校或中等技术学校、大学专科和专科学校（简称"大专"）] then 3;
IF 指标值 in[大学本科（简称"大学"）、研究生]then4:
'''


def getIG04():
    null_type_list = ['', ' ', None, 'null', 'Null', 'NULL', '/', '-', '--']
    edu_level_list = [u'中等专业学校或中等技术学校', u'高中', u'研究生', u'小学', u'初中',
                      u'大学专科和专科学校（简称"大专"）', u'大学本科（简称"大学"）', u'文盲或半文盲', u'技术学校']
    try:
        ICRIdentity = FormatData("ICRIdentity")
        if ICRIdentity == [{}]:
            return u'缺失值'
        else:
            if len(ICRIdentity) >= 1:
                for i in ICRIdentity:
                    edu_level = i.get("eduLevel")
                    if edu_level not in null_type_list and edu_level in edu_level_list:
                        if edu_level in [u'小学', u'初中', u'文盲或半文盲']:
                            return 1
                        elif edu_level in [u'高中', u'技术学校']:
                            return 2
                        elif edu_level in [u'中等专业学校或中等技术学校', u'大学专科和专科学校（简称"大专"）']:
                            return 3
                        elif edu_level in [u'大学本科（简称"大学"）', u'研究生']:
                            return 4
                        else:
                            pass
                    else:
                        return u'缺失值'
                return u'缺失值'
            else:
                return u'缺失值'
    except:
        return u'缺失值'


if __name__ == "__main__":
    file_obj = open(r'../data/IG/IG04_EduLevel/IC_DSJ.json', 'r')
    content = file_obj.read()
    IC_DSJ = json.loads(content, strict=False)
    aa = getIG04()
    print aa

result = getIG04()

